
# 集合
"""
1. 概念： 是一种无序且元素不能重复的数据集合 。
2. 定义：
    变量名 = {} or set()
    变量名 = {obj1,obj2,obj3}
3. 说明：
    (1). 它是一个无序序列 ，不能通过索引获取
    (2). 里面的值可以是任意数据类型
    (3). 它也是可变对象 ，也支持增删改查操作 。

4. 支持的运算符
    | : 取两个集合的并集
    & ：取两个集合的交集，只取公共部分
    - : 两个集合的差集 ，减去公共部分
"""

# 1. 定义集合
set1 = {}
set2 = set()

set3 = {1,2,3}
set4 = {2,3,4}
print(set1)
print(set2)
print(set3)
print(set4)

# 2. 集合的运算
print(set3 | set4)      # 集合的并集
print(set3 & set4)      # 集合的交集
print(set3 - set4)      # 集合的差集
print(set4 - set3)

# 3.集合的方法
"""
add()      : 向集合中添加一个元素
update()   ：向集合中添加多个元素。
remove()   ：从集合中移除一个元素。
discard()  ：从集合中移除一个元素，但如果没有这个元素，不会抛出异常。
clear()    ：清空集合中的所有元素。
isdisjoint()  ：检查两个集合是否互不重叠。
union()：返回两个集合的并集。
intersection()：返回两个集合的交集。
difference()：  返回第一个集合减去第二个集合的结果。
symmetric_difference()：返回两个集合中不重复的元素组成的集合。
"""
print("=================")
s3 = {1,2,3,4,5,6}
s3.add(7)
print(s3)

s3.update({7,8,9})
print(s3)

s3.remove(6)
print(s3)

s3.discard(10)
print(s3)


print(set3.isdisjoint(set4))
print(set3.union(set4))

print(set3.symmetric_difference(set4))